Coc.nvimを触ってみようアドベントカレンダー 9日目 – coc-cfn-lint
Coc.nvimを触ってみよう Advent Calendar 2021 9日目です。
今回は coc-cfn-lint
です。
coc-cfn-lint について
cfn-lintのcoc拡張です。CloudFormation用のcoc linter拡張は他に見当たらなかったため、唯一無二となります。CFn及びSAMをJSON/YAMLの2形式でカバーしているため、不足はないはずです。
プロジェクトディレクトリ内の設定ファイル(cfnlintrc
、.cfnlintrc.yaml
、.cfnlintrc.yml
)を検知するため、既に設定がある状態でも問題なく利用できます。
coc-cfn-lint をインストールする
vimを起動した状態で以下のコマンドを実行します。
:CocInstall coc-cfn-lint
なお、cfn-lintに依存しているため、まだインストールしていない場合は併せて導入します。
brew install cfn-lint
使ってみる
cfn-lintをhomebrew経由でインストールしている場合には初期設定でもほぼ問題なく動作しますが、pip経由でインストールしている場合はパスが環境で異なってくるためにcoc-settings.jsonでの指定はほぼ必須です。
{ "cfnlint.path": '/path/to/cfn-lint' }
初期設定ではファイルを開いたり保存するとlinterが走ります。
あとがき
最近はcdkを専ら使うことが多くなりましたが、GitHub ActionsのOIDCプロバイダのようにサンプルとして提示する場合にはcdkだと使いづらいケースもあります。思わぬタイミングでCFnテンプレートを提示された時に役立ちな拡張です。